From: Niklas Laxström Date: Wed, 28 Sep 2011 20:28:40 +0000 (+0000) Subject: Followup r98135 X-Git-Tag: 1.31.0-rc.0~27383 X-Git-Url: http://git.cyclocoop.org/%7D%7Cconcat%7B?a=commitdiff_plain;h=d19db48793814365fc4ca8e28d48439158eb1b83;p=lhc%2Fweb%2Fwiklou.git Followup r98135 * Added gender parameter to newuserlog-create2-entry * Hide old comments (for all log types!) * logentry-newusers-newusers needs a message after all * Move user tool links away from the action links and drop the User: prefix from create2 --- diff --git a/includes/AutoLoader.php b/includes/AutoLoader.php index 1f2d1110e4..6e8bd44792 100644 --- a/includes/AutoLoader.php +++ b/includes/AutoLoader.php @@ -545,6 +545,7 @@ $wgAutoloadLocalClasses = array( 'LogFormatter' => 'includes/logging/LogFormatter.php', 'ManualLogEntry' => 'includes/logging/LogEntry.php', 'MoveLogFormatter' => 'includes/logging/LogFormatter.php', + 'NewUsersLogFormatter' => 'includes/logging/LogFormatter.php', 'PatrolLog' => 'includes/logging/PatrolLog.php', 'PatrolLogFormatter' => 'includes/logging/LogFormatter.php', 'RCDatabaseLogEntry' => 'includes/logging/LogEntry.php', diff --git a/includes/LogEventsList.php b/includes/LogEventsList.php index 2569628768..4df521bd79 100644 --- a/includes/LogEventsList.php +++ b/includes/LogEventsList.php @@ -486,19 +486,6 @@ class LogEventsList { array( 'known', 'noclasses' ) ) . ')'; } - // Self-created users - } elseif( self::typeAction( $row, 'newusers', 'create2' ) ) { - if( isset( $paramArray[0] ) ) { - $revert = Linker::userToolLinks( $paramArray[0], $title->getDBkey(), true ); - } else { - # Fall back to a blue contributions link - $revert = Linker::userToolLinks( 1, $title->getDBkey() ); - } - if( wfTimestamp( TS_MW, $row->log_timestamp ) < '20080129000000' ) { - # Suppress $comment from old entries (before 2008-01-29), - # not needed and can contain incorrect links - $comment = ''; - } // Do nothing. The implementation is handled by the hook modifiying the passed-by-ref parameters. } else { wfRunHooks( 'LogLine', array( $row->log_type, $row->log_action, $title, $paramArray, diff --git a/includes/Setup.php b/includes/Setup.php index 66f1793d83..46829941fa 100644 --- a/includes/Setup.php +++ b/includes/Setup.php @@ -316,7 +316,7 @@ if ( $wgNewUserLog ) { $wgLogNames['newusers'] = 'newuserlogpage'; $wgLogHeaders['newusers'] = 'newuserlogpagetext'; # newusers, create, create2, autocreate - $wgLogActionsHandlers['newusers/*'] = 'LogFormatter'; + $wgLogActionsHandlers['newusers/*'] = 'NewUsersLogFormatter'; } if ( $wgCookieSecure === 'detect' ) { diff --git a/includes/logging/LogFormatter.php b/includes/logging/LogFormatter.php index 41ebefcaf0..40cedbc399 100644 --- a/includes/logging/LogFormatter.php +++ b/includes/logging/LogFormatter.php @@ -226,25 +226,7 @@ class LogFormatter { */ public function getPerformerElement() { $performer = $this->entry->getPerformer(); - - if ( $this->plaintext ) { - $element = $performer->getName(); - } else { - $element = Linker::userLink( - $performer->getId(), - $performer->getName() - ); - - if ( $this->linkFlood ) { - $element .= Linker::userToolLinks( - $performer->getId(), - $performer->getName(), - true, // Red if no edits - 0, // Flags - $performer->getEditCount() - ); - } - } + $element = $this->makeUserLink( $performer ); if ( $this->entry->isDeleted( LogPage::DELETED_USER ) ) { $element = self::getRestrictedElement( 'rev-deleted-user' ); @@ -296,6 +278,28 @@ class LogFormatter { ->title( $this->context->getTitle() ); } + protected function makeUserLink( User $user ) { + if ( $this->plaintext ) { + $element = $user->getName(); + } else { + $element = Linker::userLink( + $user->getId(), + $user->getName() + ); + + if ( $this->linkFlood ) { + $element .= Linker::userToolLinks( + $user->getId(), + $user->getName(), + true, // Red if no edits + 0, // Flags + $user->getEditCount() + ); + } + } + return $element; + } + } /** @@ -455,4 +459,35 @@ class PatrolLogFormatter extends LogFormatter { $newParams[3] = Message::rawParam( $revlink ); return $newParams; } +} + +/** + * This class formats new user log entries. + * @since 1.19 + */ +class NewUsersLogFormatter extends LogFormatter { + protected function getMessageParameters() { + $params = parent::getMessageParameters(); + if ( $this->entry->getSubtype() === 'create2' ) { + if ( isset( $params[3] ) ) { + $target = User::newFromId( $params[3] ); + } else { + $target = User::newFromName( $this->entry->getTarget()->getText(), false ); + } + $params[2] = Message::rawParam( $this->makeUserLink( $target ) ); + $params[3] = $target->getName(); + } + return $params; + } + + public function getComment() { + $subtype = $this->entry->getSubtype(); + $timestamp = wfTimestamp( TS_MW, $this->entry->getTimestamp() ); + if ( $timestamp < '20080129000000' ) { + # Suppress $comment from old entries (before 2008-01-29), + # not needed and can contain incorrect links + return ''; + } + return parent::getComment(); + } } \ No newline at end of file diff --git a/languages/messages/MessagesEn.php b/languages/messages/MessagesEn.php index 9f40122469..ce939d62f7 100644 --- a/languages/messages/MessagesEn.php +++ b/languages/messages/MessagesEn.php @@ -4653,9 +4653,9 @@ This site is experiencing technical difficulties.', 'logentry-move-move_redir-noredirect' => '$1 {{GENDER:$2|moved}} page $3 to $4 over a redirect without leaving a redirect', 'logentry-patrol-patrol' => '$1 {{GENDER:$2|marked}} revision $4 of page $3 patrolled', 'logentry-patrol-patrol-auto' => '$1 automatically {{GENDER:$2|marked}} revision $4 of page $3 patrolled', -'logentry-newusers-newusers' => '', # do not translate or duplicate this message to other languages +'logentry-newusers-newusers' => '$1 {{GENDER:$2|created}} a user account', 'logentry-newusers-create' => '$1 {{GENDER:$2|created}} a user account', -'logentry-newusers-create2' => '$1 {{GENDER:$2|created}} a user account $3', +'logentry-newusers-create2' => '$1 {{GENDER:$2|created}} {{GENDER:$4|a user account}} $3', 'logentry-newusers-autocreate' => 'Account $1 was {{GENDER:$2|created}} automatically', 'newuserlog-byemail' => 'password sent by e-mail', diff --git a/maintenance/language/messageTypes.inc b/maintenance/language/messageTypes.inc index 66462bf7f6..e14acc97e4 100644 --- a/maintenance/language/messageTypes.inc +++ b/maintenance/language/messageTypes.inc @@ -179,7 +179,6 @@ $wgIgnoredMessages = array( 'unusedtemplates-summary', 'fewestrevisions-summary', 'upload-summary', - 'logentry-newusers-newusers', 'wantedtemplates-summary', 'activeusers-summary', 'search-summary',